home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 2.toast / pc / sample code / quicktime / quicktime for java / musicmixer / src / mixer / mc / mixercomponents.java next >
Encoding:
Java Source  |  2000-09-28  |  1.9 KB  |  50 lines

  1. /*
  2.  * QuickTime for Java SDK Sample Code
  3.  
  4.    Usage subject to restrictions in SDK License Agreement
  5.  * Copyright: © 1996-1999 Apple Computer, Inc.
  6.  
  7.  */
  8. package mixer.mc;
  9.  
  10. import java.awt.*;
  11. import javax.swing.*;
  12. import quicktime.QTException;
  13. import quicktime.app.audio.*;
  14.  
  15. /** This interface is the heart of the mixer.  The *Display classes define
  16.   * what controls are created to mix a movie, and Displays can be created
  17.   * out of any object that satisfies this interface.  Basically, any object
  18.   * that implements this interface and has an appropriate subclass of
  19.   * ChannelDisplay, can be mixed.
  20.   */
  21. public interface MixerComponents {
  22.     /** This method returns the master control for the this channel.  This
  23.      *  is what is used to control the attributes of this channel.
  24.      *  @return the AudioSpec object that controls this channel
  25.      */
  26.     public AudioSpec getMaster();
  27.     
  28.     /** This method returns an array of MixerComponent objects that represents
  29.      *  the "children" channels of this channel.  In a Music track, for example,
  30.      *  this might be each of the instrument channels that constitute the
  31.      *  Music track.
  32.      *  @return the array of MixerComponents objects that are the channels of this
  33.      *  object.
  34.      */
  35.     public MixerComponents[] getChannels();
  36.     
  37.     /** This method defines how the channels of this object will be editted.  When
  38.      *  the user clicks the Edit button on the control channel made for this
  39.      *  object, this method will be invoked.  Whatever component this method returns
  40.      *  will determine the look of the next control panel.
  41.      *  @return the JComponent which contains the controls for the channels
  42.      */
  43.     public JComponent makeEditComponent () throws QTException;
  44.  
  45.     /** Returns whether or not it's possible to edit this object further.
  46.      *  @return can this object be editted further?
  47.      */
  48.     public boolean isEditable();
  49. }
  50.